There are several circumstances when it is advantageous to know which audio output on a device is active. For example, it may be desirable to know whether audio content is being played back or reproduced on an audio playback device (such as a mobile phone) through loudspeakers or headphones. One situation in which this is useful is when audio processing is being applied to the audio signal containing the content being played back. Audio signal processing typically is used to achieve the best sound possible from a playback device. Just as photography and video processing commonly is used to improve the visual experience of a photograph or video, audio signal processing is frequently used to improve the auditory experience of audio content.
The type of audio signal processing used, however, often is different for an audio signal played back through headphones as compared to being played back over speakers. For example, audio spatial virtualization, which gives the illusion that sounds are originating from specific locations in 3D space, is different depending on whether the audio content is being heard through speakers or headphones. This difference between audio processing techniques used can become problematic when a playback device (such as a mobile phone) is capable of playing back audio content either through speakers or headphones.
The playback device typically communicates with the headphones or speakers using certain output endpoints such as lineout, Bluetooth® (a registered trademark of Bluetooth SIG), and Wi-Fi® (a registered trademark of the Wi-Fi Alliance). However, in order to match the correct processing to the output types a listener is burdened with manually informing the playback device to use headphone mode or speaker mode. The burden on the listener can be a barrier to adoption of otherwise attractive audio processing technologies as the listener may find it easier to turn off the processing rather than have to manually switch between headphone mode and speaker mode.
Several different techniques exist to automatically identify whether audio content is being played back through speakers or headphones. One such method is “jack detection” that detects when headphones are plugged into the headphone jack on the playback device. One problem, however, is that speakers may also be plugged into the headphone jack and the jack detection technique cannot differentiate between headphones and speakers. Thus, the jack detection technique is not always a reliable indicator of whether headphones or speakers are in use.
Impedance matching techniques can be used to detect whether headphones or speakers are connected to the playback device. However, impedance matching techniques often have implementation issues. Moreover, impedance matching is dependent on manufacturers to provide impedance values to create and maintain a database for the impedance matching technique to use.
Similar to impedance matching techniques are wireless device identification techniques. As noted above, Bluetooth and Wi-Fi are popular wireless protocols that support both wireless speakers and headphones. The wireless device identification techniques use a “device ID” assigned to a particular wireless device to determine whether the wireless device is headphones or speakers. One problem with the wireless device identification techniques is that they require the creation and maintenance of a device database to categorize wireless devices.